↳ ITRS
↳ ITRStoIDPProof
z
eval(x, y) → Cond_eval3(&&(>@z(y, x), >@z(x, y)), x, y)
eval(x, y) → Cond_eval1(&&(>@z(y, x), >=@z(y, x)), x, y)
eval(x, y) → Cond_eval(&&(>@z(x, y), >=@z(y, x)), x, y)
Cond_eval1(TRUE, x, y) → eval(+@z(x, 1@z), y)
Cond_eval(TRUE, x, y) → eval(+@z(x, 1@z), y)
eval(x, y) → Cond_eval2(>@z(x, y), x, y)
Cond_eval3(TRUE, x, y) → eval(x, +@z(y, 1@z))
Cond_eval2(TRUE, x, y) → eval(x, +@z(y, 1@z))
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
z
eval(x, y) → Cond_eval3(&&(>@z(y, x), >@z(x, y)), x, y)
eval(x, y) → Cond_eval1(&&(>@z(y, x), >=@z(y, x)), x, y)
eval(x, y) → Cond_eval(&&(>@z(x, y), >=@z(y, x)), x, y)
Cond_eval1(TRUE, x, y) → eval(+@z(x, 1@z), y)
Cond_eval(TRUE, x, y) → eval(+@z(x, 1@z), y)
eval(x, y) → Cond_eval2(>@z(x, y), x, y)
Cond_eval3(TRUE, x, y) → eval(x, +@z(y, 1@z))
Cond_eval2(TRUE, x, y) → eval(x, +@z(y, 1@z))
(0) -> (2), if ((y[0] →* y[2])∧(+@z(x[0], 1@z) →* x[2]))
(0) -> (3), if ((y[0] →* y[3])∧(+@z(x[0], 1@z) →* x[3]))
(0) -> (4), if ((y[0] →* y[4])∧(+@z(x[0], 1@z) →* x[4]))
(0) -> (7), if ((y[0] →* y[7])∧(+@z(x[0], 1@z) →* x[7]))
(1) -> (2), if ((y[1] →* y[2])∧(+@z(x[1], 1@z) →* x[2]))
(1) -> (3), if ((y[1] →* y[3])∧(+@z(x[1], 1@z) →* x[3]))
(1) -> (4), if ((y[1] →* y[4])∧(+@z(x[1], 1@z) →* x[4]))
(1) -> (7), if ((y[1] →* y[7])∧(+@z(x[1], 1@z) →* x[7]))
(2) -> (6), if ((x[2] →* x[6])∧(y[2] →* y[6])∧(>@z(x[2], y[2]) →* TRUE))
(3) -> (0), if ((x[3] →* x[0])∧(y[3] →* y[0])∧(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])) →* TRUE))
(4) -> (5), if ((x[4] →* x[5])∧(y[4] →* y[5])∧(&&(>@z(y[4], x[4]), >@z(x[4], y[4])) →* TRUE))
(5) -> (2), if ((+@z(y[5], 1@z) →* y[2])∧(x[5] →* x[2]))
(5) -> (3), if ((+@z(y[5], 1@z) →* y[3])∧(x[5] →* x[3]))
(5) -> (4), if ((+@z(y[5], 1@z) →* y[4])∧(x[5] →* x[4]))
(5) -> (7), if ((+@z(y[5], 1@z) →* y[7])∧(x[5] →* x[7]))
(6) -> (2), if ((+@z(y[6], 1@z) →* y[2])∧(x[6] →* x[2]))
(6) -> (3), if ((+@z(y[6], 1@z) →* y[3])∧(x[6] →* x[3]))
(6) -> (4), if ((+@z(y[6], 1@z) →* y[4])∧(x[6] →* x[4]))
(6) -> (7), if ((+@z(y[6], 1@z) →* y[7])∧(x[6] →* x[7]))
(7) -> (1), if ((x[7] →* x[1])∧(y[7] →* y[1])∧(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])) →* TRUE))
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
z
(0) -> (2), if ((y[0] →* y[2])∧(+@z(x[0], 1@z) →* x[2]))
(0) -> (3), if ((y[0] →* y[3])∧(+@z(x[0], 1@z) →* x[3]))
(0) -> (4), if ((y[0] →* y[4])∧(+@z(x[0], 1@z) →* x[4]))
(0) -> (7), if ((y[0] →* y[7])∧(+@z(x[0], 1@z) →* x[7]))
(1) -> (2), if ((y[1] →* y[2])∧(+@z(x[1], 1@z) →* x[2]))
(1) -> (3), if ((y[1] →* y[3])∧(+@z(x[1], 1@z) →* x[3]))
(1) -> (4), if ((y[1] →* y[4])∧(+@z(x[1], 1@z) →* x[4]))
(1) -> (7), if ((y[1] →* y[7])∧(+@z(x[1], 1@z) →* x[7]))
(2) -> (6), if ((x[2] →* x[6])∧(y[2] →* y[6])∧(>@z(x[2], y[2]) →* TRUE))
(3) -> (0), if ((x[3] →* x[0])∧(y[3] →* y[0])∧(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])) →* TRUE))
(4) -> (5), if ((x[4] →* x[5])∧(y[4] →* y[5])∧(&&(>@z(y[4], x[4]), >@z(x[4], y[4])) →* TRUE))
(5) -> (2), if ((+@z(y[5], 1@z) →* y[2])∧(x[5] →* x[2]))
(5) -> (3), if ((+@z(y[5], 1@z) →* y[3])∧(x[5] →* x[3]))
(5) -> (4), if ((+@z(y[5], 1@z) →* y[4])∧(x[5] →* x[4]))
(5) -> (7), if ((+@z(y[5], 1@z) →* y[7])∧(x[5] →* x[7]))
(6) -> (2), if ((+@z(y[6], 1@z) →* y[2])∧(x[6] →* x[2]))
(6) -> (3), if ((+@z(y[6], 1@z) →* y[3])∧(x[6] →* x[3]))
(6) -> (4), if ((+@z(y[6], 1@z) →* y[4])∧(x[6] →* x[4]))
(6) -> (7), if ((+@z(y[6], 1@z) →* y[7])∧(x[6] →* x[7]))
(7) -> (1), if ((x[7] →* x[1])∧(y[7] →* y[1])∧(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])) →* TRUE))
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
(1) (x[3]=x[0]∧y[3]=y[0]∧&&(>@z(y[3], x[3]), >=@z(y[3], x[3]))=TRUE ⇒ COND_EVAL1(TRUE, x[0], y[0])≥NonInfC∧COND_EVAL1(TRUE, x[0], y[0])≥EVAL(+@z(x[0], 1@z), y[0])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(2) (>@z(y[3], x[3])=TRUE∧>=@z(y[3], x[3])=TRUE ⇒ COND_EVAL1(TRUE, x[3], y[3])≥NonInfC∧COND_EVAL1(TRUE, x[3], y[3])≥EVAL(+@z(x[3], 1@z), y[3])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(3) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧0 ≥ 0)
(4) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧0 ≥ 0)
(5) (y[3] + (-1)x[3] ≥ 0∧-1 + y[3] + (-1)x[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(6) (1 + x[3] ≥ 0∧x[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(7) (1 + x[3] ≥ 0∧x[3] ≥ 0∧y[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(8) (1 + x[3] ≥ 0∧x[3] ≥ 0∧y[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(9) (y[7]=y[1]∧x[7]=x[1]∧&&(>@z(x[7], y[7]), >=@z(y[7], x[7]))=TRUE ⇒ COND_EVAL(TRUE, x[1], y[1])≥NonInfC∧COND_EVAL(TRUE, x[1], y[1])≥EVAL(+@z(x[1], 1@z), y[1])∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(10) (>@z(x[7], y[7])=TRUE∧>=@z(y[7], x[7])=TRUE ⇒ COND_EVAL(TRUE, x[7], y[7])≥NonInfC∧COND_EVAL(TRUE, x[7], y[7])≥EVAL(+@z(x[7], 1@z), y[7])∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(11) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧0 ≥ 0∧-2 ≥ 0)
(12) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧0 ≥ 0∧-2 ≥ 0)
(13) (y[7] + (-1)x[7] ≥ 0∧-1 + x[7] + (-1)y[7] ≥ 0 ⇒ -2 ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(14) (EVAL(x[2], y[2])≥NonInfC∧EVAL(x[2], y[2])≥COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])∧(UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥))
(15) ((UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(16) ((UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(17) ((UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(18) (0 ≥ 0∧(UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 ≥ 0∧0 = 0)
(19) (EVAL(x[3], y[3])≥NonInfC∧EVAL(x[3], y[3])≥COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥))
(20) ((UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧1 ≥ 0)
(21) ((UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧1 ≥ 0)
(22) (1 ≥ 0∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0)
(23) (0 = 0∧0 = 0∧1 ≥ 0∧0 = 0∧0 ≥ 0∧0 = 0∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥))
(24) (EVAL(x[4], y[4])≥NonInfC∧EVAL(x[4], y[4])≥COND_EVAL3(&&(>@z(y[4], x[4]), >@z(x[4], y[4])), x[4], y[4])∧(UIncreasing(COND_EVAL3(&&(>@z(y[4], x[4]), >@z(x[4], y[4])), x[4], y[4])), ≥))
(25) ((UIncreasing(COND_EVAL3(&&(>@z(y[4], x[4]), >@z(x[4], y[4])), x[4], y[4])), ≥)∧0 ≥ 0∧1 ≥ 0)
(26) ((UIncreasing(COND_EVAL3(&&(>@z(y[4], x[4]), >@z(x[4], y[4])), x[4], y[4])), ≥)∧0 ≥ 0∧1 ≥ 0)
(27) (0 ≥ 0∧(UIncreasing(COND_EVAL3(&&(>@z(y[4], x[4]), >@z(x[4], y[4])), x[4], y[4])), ≥)∧1 ≥ 0)
(28) (0 ≥ 0∧0 = 0∧0 = 0∧0 = 0∧(UIncreasing(COND_EVAL3(&&(>@z(y[4], x[4]), >@z(x[4], y[4])), x[4], y[4])), ≥)∧0 = 0∧1 ≥ 0)
(29) (x[4]=x[5]∧y[4]=y[5]∧&&(>@z(y[4], x[4]), >@z(x[4], y[4]))=TRUE ⇒ COND_EVAL3(TRUE, x[5], y[5])≥NonInfC∧COND_EVAL3(TRUE, x[5], y[5])≥EVAL(x[5], +@z(y[5], 1@z))∧(UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥))
(30) (>@z(y[4], x[4])=TRUE∧>@z(x[4], y[4])=TRUE ⇒ COND_EVAL3(TRUE, x[4], y[4])≥NonInfC∧COND_EVAL3(TRUE, x[4], y[4])≥EVAL(x[4], +@z(y[4], 1@z))∧(UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥))
(31) (-1 + y[4] + (-1)x[4] ≥ 0∧-1 + x[4] + (-1)y[4] ≥ 0 ⇒ (UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥)∧-1 + (-1)Bound + (-1)y[4] + (-1)x[4] ≥ 0∧0 ≥ 0)
(32) (-1 + y[4] + (-1)x[4] ≥ 0∧-1 + x[4] + (-1)y[4] ≥ 0 ⇒ (UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥)∧-1 + (-1)Bound + (-1)y[4] + (-1)x[4] ≥ 0∧0 ≥ 0)
(33) (-1 + y[4] + (-1)x[4] ≥ 0∧-1 + x[4] + (-1)y[4] ≥ 0 ⇒ -1 + (-1)Bound + (-1)y[4] + (-1)x[4] ≥ 0∧(UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥)∧0 ≥ 0)
(34) (>@z(x[2], y[2])=TRUE∧x[2]=x[6]∧y[2]=y[6] ⇒ COND_EVAL2(TRUE, x[6], y[6])≥NonInfC∧COND_EVAL2(TRUE, x[6], y[6])≥EVAL(x[6], +@z(y[6], 1@z))∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(35) (>@z(x[2], y[2])=TRUE ⇒ COND_EVAL2(TRUE, x[2], y[2])≥NonInfC∧COND_EVAL2(TRUE, x[2], y[2])≥EVAL(x[2], +@z(y[2], 1@z))∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(36) (-1 + x[2] + (-1)y[2] ≥ 0 ⇒ (UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0∧0 ≥ 0)
(37) (-1 + x[2] + (-1)y[2] ≥ 0 ⇒ (UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0∧0 ≥ 0)
(38) (-1 + x[2] + (-1)y[2] ≥ 0 ⇒ 0 ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(39) (x[2] ≥ 0 ⇒ 0 ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(40) (x[2] ≥ 0∧y[2] ≥ 0 ⇒ 0 ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(41) (x[2] ≥ 0∧y[2] ≥ 0 ⇒ 0 ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(42) (EVAL(x[7], y[7])≥NonInfC∧EVAL(x[7], y[7])≥COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])∧(UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥))
(43) ((UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥)∧0 ≥ 0∧3 ≥ 0)
(44) ((UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥)∧0 ≥ 0∧3 ≥ 0)
(45) (3 ≥ 0∧(UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥)∧0 ≥ 0)
(46) (0 ≥ 0∧0 = 0∧3 ≥ 0∧0 = 0∧(UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥)∧0 = 0∧0 = 0)
POL(COND_EVAL1(x1, x2, x3)) = 1 + (-1)x3 + (-1)x2 + (2)x1
POL(TRUE) = -1
POL(&&(x1, x2)) = -1
POL(COND_EVAL(x1, x2, x3)) = -1 + (-1)x3 + (-1)x2 + (2)x1
POL(FALSE) = -1
POL(>@z(x1, x2)) = -1
POL(>=@z(x1, x2)) = -1
POL(COND_EVAL3(x1, x2, x3)) = -1 + (-1)x3 + (-1)x2
POL(COND_EVAL2(x1, x2, x3)) = -1 + (-1)x3 + (-1)x2
POL(EVAL(x1, x2)) = (-1)x2 + (-1)x1
POL(+@z(x1, x2)) = x1 + x2
POL(1@z) = 1
POL(undefined) = -1
EVAL(x[2], y[2]) → COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])
COND_EVAL3(TRUE, x[5], y[5]) → EVAL(x[5], +@z(y[5], 1@z))
COND_EVAL1(TRUE, x[0], y[0]) → EVAL(+@z(x[0], 1@z), y[0])
COND_EVAL(TRUE, x[1], y[1]) → EVAL(+@z(x[1], 1@z), y[1])
EVAL(x[3], y[3]) → COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])
EVAL(x[4], y[4]) → COND_EVAL3(&&(>@z(y[4], x[4]), >@z(x[4], y[4])), x[4], y[4])
COND_EVAL3(TRUE, x[5], y[5]) → EVAL(x[5], +@z(y[5], 1@z))
COND_EVAL2(TRUE, x[6], y[6]) → EVAL(x[6], +@z(y[6], 1@z))
EVAL(x[7], y[7]) → COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])
&&(FALSE, FALSE)1 ↔ FALSE1
&&(TRUE, TRUE)1 ↔ TRUE1
+@z1 ↔
&&(TRUE, FALSE)1 ↔ FALSE1
&&(FALSE, TRUE)1 ↔ FALSE1
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
z
(1) -> (4), if ((y[1] →* y[4])∧(+@z(x[1], 1@z) →* x[4]))
(6) -> (7), if ((+@z(y[6], 1@z) →* y[7])∧(x[6] →* x[7]))
(0) -> (4), if ((y[0] →* y[4])∧(+@z(x[0], 1@z) →* x[4]))
(1) -> (7), if ((y[1] →* y[7])∧(+@z(x[1], 1@z) →* x[7]))
(6) -> (3), if ((+@z(y[6], 1@z) →* y[3])∧(x[6] →* x[3]))
(1) -> (3), if ((y[1] →* y[3])∧(+@z(x[1], 1@z) →* x[3]))
(7) -> (1), if ((x[7] →* x[1])∧(y[7] →* y[1])∧(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])) →* TRUE))
(6) -> (4), if ((+@z(y[6], 1@z) →* y[4])∧(x[6] →* x[4]))
(0) -> (3), if ((y[0] →* y[3])∧(+@z(x[0], 1@z) →* x[3]))
(0) -> (7), if ((y[0] →* y[7])∧(+@z(x[0], 1@z) →* x[7]))
(5) -> (3), if ((+@z(y[5], 1@z) →* y[3])∧(x[5] →* x[3]))
(3) -> (0), if ((x[3] →* x[0])∧(y[3] →* y[0])∧(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])) →* TRUE))
(4) -> (5), if ((x[4] →* x[5])∧(y[4] →* y[5])∧(&&(>@z(y[4], x[4]), >@z(x[4], y[4])) →* TRUE))
(5) -> (4), if ((+@z(y[5], 1@z) →* y[4])∧(x[5] →* x[4]))
(5) -> (7), if ((+@z(y[5], 1@z) →* y[7])∧(x[5] →* x[7]))
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
z
(0) -> (3), if ((y[0] →* y[3])∧(+@z(x[0], 1@z) →* x[3]))
(1) -> (4), if ((y[1] →* y[4])∧(+@z(x[1], 1@z) →* x[4]))
(5) -> (3), if ((+@z(y[5], 1@z) →* y[3])∧(x[5] →* x[3]))
(0) -> (7), if ((y[0] →* y[7])∧(+@z(x[0], 1@z) →* x[7]))
(0) -> (4), if ((y[0] →* y[4])∧(+@z(x[0], 1@z) →* x[4]))
(5) -> (4), if ((+@z(y[5], 1@z) →* y[4])∧(x[5] →* x[4]))
(1) -> (3), if ((y[1] →* y[3])∧(+@z(x[1], 1@z) →* x[3]))
(1) -> (7), if ((y[1] →* y[7])∧(+@z(x[1], 1@z) →* x[7]))
(4) -> (5), if ((x[4] →* x[5])∧(y[4] →* y[5])∧(&&(>@z(y[4], x[4]), >@z(x[4], y[4])) →* TRUE))
(3) -> (0), if ((x[3] →* x[0])∧(y[3] →* y[0])∧(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])) →* TRUE))
(5) -> (7), if ((+@z(y[5], 1@z) →* y[7])∧(x[5] →* x[7]))
(7) -> (1), if ((x[7] →* x[1])∧(y[7] →* y[1])∧(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])) →* TRUE))
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
(1) (x[5]=x[3]∧x[4]=x[5]∧y[4]=y[5]∧&&(>@z(y[4], x[4]), >@z(x[4], y[4]))=TRUE∧+@z(y[5], 1@z)=y[3] ⇒ COND_EVAL3(TRUE, x[5], y[5])≥NonInfC∧COND_EVAL3(TRUE, x[5], y[5])≥EVAL(x[5], +@z(y[5], 1@z))∧(UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥))
(2) (>@z(y[4], x[4])=TRUE∧>@z(x[4], y[4])=TRUE ⇒ COND_EVAL3(TRUE, x[4], y[4])≥NonInfC∧COND_EVAL3(TRUE, x[4], y[4])≥EVAL(x[4], +@z(y[4], 1@z))∧(UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥))
(3) (-1 + y[4] + (-1)x[4] ≥ 0∧-1 + x[4] + (-1)y[4] ≥ 0 ⇒ (UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥)∧-1 + (-1)Bound + (-1)y[4] + (-1)x[4] ≥ 0∧0 ≥ 0)
(4) (-1 + y[4] + (-1)x[4] ≥ 0∧-1 + x[4] + (-1)y[4] ≥ 0 ⇒ (UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥)∧-1 + (-1)Bound + (-1)y[4] + (-1)x[4] ≥ 0∧0 ≥ 0)
(5) (-1 + x[4] + (-1)y[4] ≥ 0∧-1 + y[4] + (-1)x[4] ≥ 0 ⇒ 0 ≥ 0∧-1 + (-1)Bound + (-1)y[4] + (-1)x[4] ≥ 0∧(UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥))
(6) (x[4]=x[5]∧y[4]=y[5]∧x[5]=x[7]∧&&(>@z(y[4], x[4]), >@z(x[4], y[4]))=TRUE∧+@z(y[5], 1@z)=y[7] ⇒ COND_EVAL3(TRUE, x[5], y[5])≥NonInfC∧COND_EVAL3(TRUE, x[5], y[5])≥EVAL(x[5], +@z(y[5], 1@z))∧(UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥))
(7) (>@z(y[4], x[4])=TRUE∧>@z(x[4], y[4])=TRUE ⇒ COND_EVAL3(TRUE, x[4], y[4])≥NonInfC∧COND_EVAL3(TRUE, x[4], y[4])≥EVAL(x[4], +@z(y[4], 1@z))∧(UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥))
(8) (-1 + y[4] + (-1)x[4] ≥ 0∧-1 + x[4] + (-1)y[4] ≥ 0 ⇒ (UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥)∧-1 + (-1)Bound + (-1)y[4] + (-1)x[4] ≥ 0∧0 ≥ 0)
(9) (-1 + y[4] + (-1)x[4] ≥ 0∧-1 + x[4] + (-1)y[4] ≥ 0 ⇒ (UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥)∧-1 + (-1)Bound + (-1)y[4] + (-1)x[4] ≥ 0∧0 ≥ 0)
(10) (-1 + y[4] + (-1)x[4] ≥ 0∧-1 + x[4] + (-1)y[4] ≥ 0 ⇒ -1 + (-1)Bound + (-1)y[4] + (-1)x[4] ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥))
(11) (x[4]=x[5]∧y[4]=y[5]∧x[5]=x[4]1∧&&(>@z(y[4], x[4]), >@z(x[4], y[4]))=TRUE∧+@z(y[5], 1@z)=y[4]1 ⇒ COND_EVAL3(TRUE, x[5], y[5])≥NonInfC∧COND_EVAL3(TRUE, x[5], y[5])≥EVAL(x[5], +@z(y[5], 1@z))∧(UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥))
(12) (>@z(y[4], x[4])=TRUE∧>@z(x[4], y[4])=TRUE ⇒ COND_EVAL3(TRUE, x[4], y[4])≥NonInfC∧COND_EVAL3(TRUE, x[4], y[4])≥EVAL(x[4], +@z(y[4], 1@z))∧(UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥))
(13) (-1 + y[4] + (-1)x[4] ≥ 0∧-1 + x[4] + (-1)y[4] ≥ 0 ⇒ (UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥)∧-1 + (-1)Bound + (-1)y[4] + (-1)x[4] ≥ 0∧0 ≥ 0)
(14) (-1 + y[4] + (-1)x[4] ≥ 0∧-1 + x[4] + (-1)y[4] ≥ 0 ⇒ (UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥)∧-1 + (-1)Bound + (-1)y[4] + (-1)x[4] ≥ 0∧0 ≥ 0)
(15) (-1 + x[4] + (-1)y[4] ≥ 0∧-1 + y[4] + (-1)x[4] ≥ 0 ⇒ 0 ≥ 0∧-1 + (-1)Bound + (-1)y[4] + (-1)x[4] ≥ 0∧(UIncreasing(EVAL(x[5], +@z(y[5], 1@z))), ≥))
(16) (EVAL(x[4], y[4])≥NonInfC∧EVAL(x[4], y[4])≥COND_EVAL3(&&(>@z(y[4], x[4]), >@z(x[4], y[4])), x[4], y[4])∧(UIncreasing(COND_EVAL3(&&(>@z(y[4], x[4]), >@z(x[4], y[4])), x[4], y[4])), ≥))
(17) ((UIncreasing(COND_EVAL3(&&(>@z(y[4], x[4]), >@z(x[4], y[4])), x[4], y[4])), ≥)∧0 ≥ 0∧0 ≥ 0)
(18) ((UIncreasing(COND_EVAL3(&&(>@z(y[4], x[4]), >@z(x[4], y[4])), x[4], y[4])), ≥)∧0 ≥ 0∧0 ≥ 0)
(19) (0 ≥ 0∧0 ≥ 0∧(UIncreasing(COND_EVAL3(&&(>@z(y[4], x[4]), >@z(x[4], y[4])), x[4], y[4])), ≥))
(20) (0 = 0∧0 ≥ 0∧0 = 0∧(UIncreasing(COND_EVAL3(&&(>@z(y[4], x[4]), >@z(x[4], y[4])), x[4], y[4])), ≥)∧0 ≥ 0∧0 = 0∧0 = 0)
(21) (y[0]=y[7]∧x[3]=x[0]∧y[3]=y[0]∧&&(>@z(y[3], x[3]), >=@z(y[3], x[3]))=TRUE∧+@z(x[0], 1@z)=x[7] ⇒ COND_EVAL1(TRUE, x[0], y[0])≥NonInfC∧COND_EVAL1(TRUE, x[0], y[0])≥EVAL(+@z(x[0], 1@z), y[0])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(22) (>@z(y[3], x[3])=TRUE∧>=@z(y[3], x[3])=TRUE ⇒ COND_EVAL1(TRUE, x[3], y[3])≥NonInfC∧COND_EVAL1(TRUE, x[3], y[3])≥EVAL(+@z(x[3], 1@z), y[3])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(23) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(24) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(25) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ 1 ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(26) (x[3] ≥ 0∧1 + x[3] ≥ 0 ⇒ 1 ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(27) (x[3] ≥ 0∧1 + x[3] ≥ 0∧y[3] ≥ 0 ⇒ 1 ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(28) (x[3] ≥ 0∧1 + x[3] ≥ 0∧y[3] ≥ 0 ⇒ 1 ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(29) (+@z(x[0], 1@z)=x[4]∧y[0]=y[4]∧x[3]=x[0]∧y[3]=y[0]∧&&(>@z(y[3], x[3]), >=@z(y[3], x[3]))=TRUE ⇒ COND_EVAL1(TRUE, x[0], y[0])≥NonInfC∧COND_EVAL1(TRUE, x[0], y[0])≥EVAL(+@z(x[0], 1@z), y[0])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(30) (>@z(y[3], x[3])=TRUE∧>=@z(y[3], x[3])=TRUE ⇒ COND_EVAL1(TRUE, x[3], y[3])≥NonInfC∧COND_EVAL1(TRUE, x[3], y[3])≥EVAL(+@z(x[3], 1@z), y[3])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(31) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(32) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(33) (y[3] + (-1)x[3] ≥ 0∧-1 + y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧1 ≥ 0∧0 ≥ 0)
(34) (1 + x[3] ≥ 0∧x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧1 ≥ 0∧0 ≥ 0)
(35) (1 + x[3] ≥ 0∧x[3] ≥ 0∧y[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧1 ≥ 0∧0 ≥ 0)
(36) (1 + x[3] ≥ 0∧x[3] ≥ 0∧y[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧1 ≥ 0∧0 ≥ 0)
(37) (x[3]=x[0]∧y[3]=y[0]∧&&(>@z(y[3], x[3]), >=@z(y[3], x[3]))=TRUE∧+@z(x[0], 1@z)=x[3]1∧y[0]=y[3]1 ⇒ COND_EVAL1(TRUE, x[0], y[0])≥NonInfC∧COND_EVAL1(TRUE, x[0], y[0])≥EVAL(+@z(x[0], 1@z), y[0])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(38) (>@z(y[3], x[3])=TRUE∧>=@z(y[3], x[3])=TRUE ⇒ COND_EVAL1(TRUE, x[3], y[3])≥NonInfC∧COND_EVAL1(TRUE, x[3], y[3])≥EVAL(+@z(x[3], 1@z), y[3])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(39) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(40) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(41) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(42) (x[3] ≥ 0∧1 + x[3] ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(43) (x[3] ≥ 0∧1 + x[3] ≥ 0∧y[3] ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(44) (x[3] ≥ 0∧1 + x[3] ≥ 0∧y[3] ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(45) (EVAL(x[3], y[3])≥NonInfC∧EVAL(x[3], y[3])≥COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥))
(46) ((UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(47) ((UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(48) (0 ≥ 0∧0 ≥ 0∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥))
(49) (0 = 0∧0 = 0∧0 = 0∧0 ≥ 0∧0 ≥ 0∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 = 0)
(50) (y[1]=y[3]∧+@z(x[1], 1@z)=x[3]∧y[7]=y[1]∧x[7]=x[1]∧&&(>@z(x[7], y[7]), >=@z(y[7], x[7]))=TRUE ⇒ COND_EVAL(TRUE, x[1], y[1])≥NonInfC∧COND_EVAL(TRUE, x[1], y[1])≥EVAL(+@z(x[1], 1@z), y[1])∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(51) (>@z(x[7], y[7])=TRUE∧>=@z(y[7], x[7])=TRUE ⇒ COND_EVAL(TRUE, x[7], y[7])≥NonInfC∧COND_EVAL(TRUE, x[7], y[7])≥EVAL(+@z(x[7], 1@z), y[7])∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(52) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧(-1)Bound + (-1)y[7] + (-1)x[7] ≥ 0∧1 ≥ 0)
(53) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧(-1)Bound + (-1)y[7] + (-1)x[7] ≥ 0∧1 ≥ 0)
(54) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧(-1)Bound + (-1)y[7] + (-1)x[7] ≥ 0∧1 ≥ 0)
(55) (y[7]=y[1]∧x[7]=x[1]∧+@z(x[1], 1@z)=x[4]∧y[1]=y[4]∧&&(>@z(x[7], y[7]), >=@z(y[7], x[7]))=TRUE ⇒ COND_EVAL(TRUE, x[1], y[1])≥NonInfC∧COND_EVAL(TRUE, x[1], y[1])≥EVAL(+@z(x[1], 1@z), y[1])∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(56) (>@z(x[7], y[7])=TRUE∧>=@z(y[7], x[7])=TRUE ⇒ COND_EVAL(TRUE, x[7], y[7])≥NonInfC∧COND_EVAL(TRUE, x[7], y[7])≥EVAL(+@z(x[7], 1@z), y[7])∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(57) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧(-1)Bound + (-1)y[7] + (-1)x[7] ≥ 0∧1 ≥ 0)
(58) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧(-1)Bound + (-1)y[7] + (-1)x[7] ≥ 0∧1 ≥ 0)
(59) (y[7] + (-1)x[7] ≥ 0∧-1 + x[7] + (-1)y[7] ≥ 0 ⇒ (-1)Bound + (-1)y[7] + (-1)x[7] ≥ 0∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧1 ≥ 0)
(60) (+@z(x[1], 1@z)=x[7]1∧y[7]=y[1]∧x[7]=x[1]∧y[1]=y[7]1∧&&(>@z(x[7], y[7]), >=@z(y[7], x[7]))=TRUE ⇒ COND_EVAL(TRUE, x[1], y[1])≥NonInfC∧COND_EVAL(TRUE, x[1], y[1])≥EVAL(+@z(x[1], 1@z), y[1])∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(61) (>@z(x[7], y[7])=TRUE∧>=@z(y[7], x[7])=TRUE ⇒ COND_EVAL(TRUE, x[7], y[7])≥NonInfC∧COND_EVAL(TRUE, x[7], y[7])≥EVAL(+@z(x[7], 1@z), y[7])∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(62) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧(-1)Bound + (-1)y[7] + (-1)x[7] ≥ 0∧1 ≥ 0)
(63) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧(-1)Bound + (-1)y[7] + (-1)x[7] ≥ 0∧1 ≥ 0)
(64) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧1 ≥ 0∧(-1)Bound + (-1)y[7] + (-1)x[7] ≥ 0)
(65) (EVAL(x[7], y[7])≥NonInfC∧EVAL(x[7], y[7])≥COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])∧(UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥))
(66) ((UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥)∧0 ≥ 0∧0 ≥ 0)
(67) ((UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥)∧0 ≥ 0∧0 ≥ 0)
(68) (0 ≥ 0∧0 ≥ 0∧(UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥))
(69) (0 ≥ 0∧0 = 0∧0 = 0∧0 ≥ 0∧0 = 0∧(UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥)∧0 = 0)
POL(>=@z(x1, x2)) = -1
POL(COND_EVAL3(x1, x2, x3)) = -1 + (-1)x3 + (-1)x2
POL(COND_EVAL1(x1, x2, x3)) = -1 + (-1)x3 + (-1)x2 + (-1)x1
POL(TRUE) = -1
POL(&&(x1, x2)) = -1
POL(COND_EVAL(x1, x2, x3)) = -1 + (-1)x3 + (-1)x2 + (-1)x1
POL(EVAL(x1, x2)) = (-1)x2 + (-1)x1
POL(+@z(x1, x2)) = x1 + x2
POL(FALSE) = 0
POL(1@z) = 1
POL(undefined) = -1
POL(>@z(x1, x2)) = -1
EVAL(x[4], y[4]) → COND_EVAL3(&&(>@z(y[4], x[4]), >@z(x[4], y[4])), x[4], y[4])
COND_EVAL3(TRUE, x[5], y[5]) → EVAL(x[5], +@z(y[5], 1@z))
COND_EVAL(TRUE, x[1], y[1]) → EVAL(+@z(x[1], 1@z), y[1])
COND_EVAL3(TRUE, x[5], y[5]) → EVAL(x[5], +@z(y[5], 1@z))
COND_EVAL1(TRUE, x[0], y[0]) → EVAL(+@z(x[0], 1@z), y[0])
EVAL(x[3], y[3]) → COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])
COND_EVAL(TRUE, x[1], y[1]) → EVAL(+@z(x[1], 1@z), y[1])
EVAL(x[7], y[7]) → COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])
FALSE1 → &&(FALSE, FALSE)1
TRUE1 → &&(TRUE, TRUE)1
+@z1 ↔
FALSE1 → &&(TRUE, FALSE)1
FALSE1 → &&(FALSE, TRUE)1
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDP
z
(0) -> (3), if ((y[0] →* y[3])∧(+@z(x[0], 1@z) →* x[3]))
(5) -> (3), if ((+@z(y[5], 1@z) →* y[3])∧(x[5] →* x[3]))
(0) -> (7), if ((y[0] →* y[7])∧(+@z(x[0], 1@z) →* x[7]))
(1) -> (3), if ((y[1] →* y[3])∧(+@z(x[1], 1@z) →* x[3]))
(1) -> (7), if ((y[1] →* y[7])∧(+@z(x[1], 1@z) →* x[7]))
(3) -> (0), if ((x[3] →* x[0])∧(y[3] →* y[0])∧(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])) →* TRUE))
(5) -> (7), if ((+@z(y[5], 1@z) →* y[7])∧(x[5] →* x[7]))
(7) -> (1), if ((x[7] →* x[1])∧(y[7] →* y[1])∧(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])) →* TRUE))
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDP
z
(0) -> (3), if ((y[0] →* y[3])∧(+@z(x[0], 1@z) →* x[3]))
(0) -> (7), if ((y[0] →* y[7])∧(+@z(x[0], 1@z) →* x[7]))
(1) -> (3), if ((y[1] →* y[3])∧(+@z(x[1], 1@z) →* x[3]))
(1) -> (7), if ((y[1] →* y[7])∧(+@z(x[1], 1@z) →* x[7]))
(3) -> (0), if ((x[3] →* x[0])∧(y[3] →* y[0])∧(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])) →* TRUE))
(7) -> (1), if ((x[7] →* x[1])∧(y[7] →* y[1])∧(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])) →* TRUE))
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
(1) (EVAL(x[3], y[3])≥NonInfC∧EVAL(x[3], y[3])≥COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥))
(2) ((UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(3) ((UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(4) (0 ≥ 0∧0 ≥ 0∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥))
(5) (0 ≥ 0∧0 ≥ 0∧0 = 0∧0 = 0∧0 = 0∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 = 0)
(6) (y[1]=y[3]∧+@z(x[1], 1@z)=x[3]∧y[7]=y[1]∧x[7]=x[1]∧&&(>@z(x[7], y[7]), >=@z(y[7], x[7]))=TRUE ⇒ COND_EVAL(TRUE, x[1], y[1])≥NonInfC∧COND_EVAL(TRUE, x[1], y[1])≥EVAL(+@z(x[1], 1@z), y[1])∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(7) (>@z(x[7], y[7])=TRUE∧>=@z(y[7], x[7])=TRUE ⇒ COND_EVAL(TRUE, x[7], y[7])≥NonInfC∧COND_EVAL(TRUE, x[7], y[7])≥EVAL(+@z(x[7], 1@z), y[7])∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(8) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧-2 + (-1)Bound + y[7] + (-1)x[7] ≥ 0∧-2 ≥ 0)
(9) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧-2 + (-1)Bound + y[7] + (-1)x[7] ≥ 0∧-2 ≥ 0)
(10) (y[7] + (-1)x[7] ≥ 0∧-1 + x[7] + (-1)y[7] ≥ 0 ⇒ -2 ≥ 0∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧-2 + (-1)Bound + y[7] + (-1)x[7] ≥ 0)
(11) (+@z(x[1], 1@z)=x[7]1∧y[7]=y[1]∧x[7]=x[1]∧y[1]=y[7]1∧&&(>@z(x[7], y[7]), >=@z(y[7], x[7]))=TRUE ⇒ COND_EVAL(TRUE, x[1], y[1])≥NonInfC∧COND_EVAL(TRUE, x[1], y[1])≥EVAL(+@z(x[1], 1@z), y[1])∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(12) (>@z(x[7], y[7])=TRUE∧>=@z(y[7], x[7])=TRUE ⇒ COND_EVAL(TRUE, x[7], y[7])≥NonInfC∧COND_EVAL(TRUE, x[7], y[7])≥EVAL(+@z(x[7], 1@z), y[7])∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(13) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧-2 + (-1)Bound + y[7] + (-1)x[7] ≥ 0∧-2 ≥ 0)
(14) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧-2 + (-1)Bound + y[7] + (-1)x[7] ≥ 0∧-2 ≥ 0)
(15) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ -2 ≥ 0∧-2 + (-1)Bound + y[7] + (-1)x[7] ≥ 0∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(16) (EVAL(x[7], y[7])≥NonInfC∧EVAL(x[7], y[7])≥COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])∧(UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥))
(17) ((UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥)∧0 ≥ 0∧1 ≥ 0)
(18) ((UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥)∧0 ≥ 0∧1 ≥ 0)
(19) (0 ≥ 0∧1 ≥ 0∧(UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥))
(20) (1 ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 ≥ 0∧(UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥))
(21) (y[0]=y[7]∧x[3]=x[0]∧y[3]=y[0]∧&&(>@z(y[3], x[3]), >=@z(y[3], x[3]))=TRUE∧+@z(x[0], 1@z)=x[7] ⇒ COND_EVAL1(TRUE, x[0], y[0])≥NonInfC∧COND_EVAL1(TRUE, x[0], y[0])≥EVAL(+@z(x[0], 1@z), y[0])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(22) (>@z(y[3], x[3])=TRUE∧>=@z(y[3], x[3])=TRUE ⇒ COND_EVAL1(TRUE, x[3], y[3])≥NonInfC∧COND_EVAL1(TRUE, x[3], y[3])≥EVAL(+@z(x[3], 1@z), y[3])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(23) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(24) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(25) (y[3] + (-1)x[3] ≥ 0∧-1 + y[3] + (-1)x[3] ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(26) (1 + x[3] ≥ 0∧x[3] ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(27) (1 + x[3] ≥ 0∧x[3] ≥ 0∧y[3] ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(28) (1 + x[3] ≥ 0∧x[3] ≥ 0∧y[3] ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(29) (x[3]=x[0]∧y[3]=y[0]∧&&(>@z(y[3], x[3]), >=@z(y[3], x[3]))=TRUE∧+@z(x[0], 1@z)=x[3]1∧y[0]=y[3]1 ⇒ COND_EVAL1(TRUE, x[0], y[0])≥NonInfC∧COND_EVAL1(TRUE, x[0], y[0])≥EVAL(+@z(x[0], 1@z), y[0])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(30) (>@z(y[3], x[3])=TRUE∧>=@z(y[3], x[3])=TRUE ⇒ COND_EVAL1(TRUE, x[3], y[3])≥NonInfC∧COND_EVAL1(TRUE, x[3], y[3])≥EVAL(+@z(x[3], 1@z), y[3])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(31) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(32) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(33) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(34) (-1 + x[3] ≥ 0∧x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(35) (x[3] ≥ 0∧1 + x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(36) (x[3] ≥ 0∧1 + x[3] ≥ 0∧y[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(37) (x[3] ≥ 0∧1 + x[3] ≥ 0∧y[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
POL(>=@z(x1, x2)) = -1
POL(COND_EVAL1(x1, x2, x3)) = -1 + x3 + (-1)x2 + (-1)x1
POL(TRUE) = -1
POL(&&(x1, x2)) = -1
POL(COND_EVAL(x1, x2, x3)) = x3 + (-1)x2 + (2)x1
POL(EVAL(x1, x2)) = x2 + (-1)x1
POL(+@z(x1, x2)) = x1 + x2
POL(FALSE) = -1
POL(1@z) = 1
POL(undefined) = -1
POL(>@z(x1, x2)) = -1
COND_EVAL(TRUE, x[1], y[1]) → EVAL(+@z(x[1], 1@z), y[1])
EVAL(x[7], y[7]) → COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])
COND_EVAL(TRUE, x[1], y[1]) → EVAL(+@z(x[1], 1@z), y[1])
EVAL(x[3], y[3]) → COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])
COND_EVAL1(TRUE, x[0], y[0]) → EVAL(+@z(x[0], 1@z), y[0])
&&(FALSE, FALSE)1 ↔ FALSE1
&&(TRUE, TRUE)1 ↔ TRUE1
+@z1 ↔
&&(TRUE, FALSE)1 ↔ FALSE1
&&(FALSE, TRUE)1 ↔ FALSE1
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDP
↳ IDP
z
(0) -> (3), if ((y[0] →* y[3])∧(+@z(x[0], 1@z) →* x[3]))
(0) -> (7), if ((y[0] →* y[7])∧(+@z(x[0], 1@z) →* x[7]))
(3) -> (0), if ((x[3] →* x[0])∧(y[3] →* y[0])∧(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])) →* TRUE))
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDP
↳ IDP
z
(0) -> (3), if ((y[0] →* y[3])∧(+@z(x[0], 1@z) →* x[3]))
(3) -> (0), if ((x[3] →* x[0])∧(y[3] →* y[0])∧(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])) →* TRUE))
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
(1) (EVAL(x[3], y[3])≥NonInfC∧EVAL(x[3], y[3])≥COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥))
(2) ((UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(3) ((UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(4) (0 ≥ 0∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0)
(5) (0 = 0∧0 = 0∧0 ≥ 0∧0 = 0∧0 = 0∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0)
(6) (x[3]=x[0]∧y[3]=y[0]∧&&(>@z(y[3], x[3]), >=@z(y[3], x[3]))=TRUE∧+@z(x[0], 1@z)=x[3]1∧y[0]=y[3]1 ⇒ COND_EVAL1(TRUE, x[0], y[0])≥NonInfC∧COND_EVAL1(TRUE, x[0], y[0])≥EVAL(+@z(x[0], 1@z), y[0])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(7) (>@z(y[3], x[3])=TRUE∧>=@z(y[3], x[3])=TRUE ⇒ COND_EVAL1(TRUE, x[3], y[3])≥NonInfC∧COND_EVAL1(TRUE, x[3], y[3])≥EVAL(+@z(x[3], 1@z), y[3])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(8) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧2 + (-1)Bound + y[3] + (-1)x[3] ≥ 0∧0 ≥ 0)
(9) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧2 + (-1)Bound + y[3] + (-1)x[3] ≥ 0∧0 ≥ 0)
(10) (y[3] + (-1)x[3] ≥ 0∧-1 + y[3] + (-1)x[3] ≥ 0 ⇒ 2 + (-1)Bound + y[3] + (-1)x[3] ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(11) (x[3] ≥ 0∧-1 + x[3] ≥ 0 ⇒ 2 + (-1)Bound + x[3] ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(12) (1 + x[3] ≥ 0∧x[3] ≥ 0 ⇒ 3 + (-1)Bound + x[3] ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(13) (1 + x[3] ≥ 0∧x[3] ≥ 0∧y[3] ≥ 0 ⇒ 3 + (-1)Bound + x[3] ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(14) (1 + x[3] ≥ 0∧x[3] ≥ 0∧y[3] ≥ 0 ⇒ 3 + (-1)Bound + x[3] ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
POL(>=@z(x1, x2)) = -1
POL(COND_EVAL1(x1, x2, x3)) = 2 + x3 + (-1)x2
POL(TRUE) = 0
POL(&&(x1, x2)) = -1
POL(EVAL(x1, x2)) = 2 + x2 + (-1)x1
POL(+@z(x1, x2)) = x1 + x2
POL(FALSE) = -1
POL(1@z) = 1
POL(undefined) = -1
POL(>@z(x1, x2)) = -1
COND_EVAL1(TRUE, x[0], y[0]) → EVAL(+@z(x[0], 1@z), y[0])
COND_EVAL1(TRUE, x[0], y[0]) → EVAL(+@z(x[0], 1@z), y[0])
EVAL(x[3], y[3]) → COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])
&&(FALSE, FALSE)1 ↔ FALSE1
TRUE1 → &&(TRUE, TRUE)1
+@z1 ↔
&&(TRUE, FALSE)1 → FALSE1
&&(FALSE, TRUE)1 ↔ FALSE1
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDP
↳ IDP
z
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDP
z
(0) -> (3), if ((y[0] →* y[3])∧(+@z(x[0], 1@z) →* x[3]))
(3) -> (0), if ((x[3] →* x[0])∧(y[3] →* y[0])∧(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])) →* TRUE))
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
(1) (EVAL(x[3], y[3])≥NonInfC∧EVAL(x[3], y[3])≥COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥))
(2) ((UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(3) ((UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(4) (0 ≥ 0∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0)
(5) (0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 ≥ 0∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0)
(6) (x[3]=x[0]∧y[3]=y[0]∧&&(>@z(y[3], x[3]), >=@z(y[3], x[3]))=TRUE∧+@z(x[0], 1@z)=x[3]1∧y[0]=y[3]1 ⇒ COND_EVAL1(TRUE, x[0], y[0])≥NonInfC∧COND_EVAL1(TRUE, x[0], y[0])≥EVAL(+@z(x[0], 1@z), y[0])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(7) (>@z(y[3], x[3])=TRUE∧>=@z(y[3], x[3])=TRUE ⇒ COND_EVAL1(TRUE, x[3], y[3])≥NonInfC∧COND_EVAL1(TRUE, x[3], y[3])≥EVAL(+@z(x[3], 1@z), y[3])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(8) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧-1 + (-1)Bound + y[3] + (-1)x[3] ≥ 0∧0 ≥ 0)
(9) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧-1 + (-1)Bound + y[3] + (-1)x[3] ≥ 0∧0 ≥ 0)
(10) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧-1 + (-1)Bound + y[3] + (-1)x[3] ≥ 0)
(11) (-1 + x[3] ≥ 0∧x[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧-1 + (-1)Bound + x[3] ≥ 0)
(12) (x[3] ≥ 0∧1 + x[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧(-1)Bound + x[3] ≥ 0)
(13) (x[3] ≥ 0∧1 + x[3] ≥ 0∧y[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧(-1)Bound + x[3] ≥ 0)
(14) (x[3] ≥ 0∧1 + x[3] ≥ 0∧y[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧(-1)Bound + x[3] ≥ 0)
POL(>=@z(x1, x2)) = -1
POL(COND_EVAL1(x1, x2, x3)) = -1 + x3 + (-1)x2
POL(TRUE) = 2
POL(&&(x1, x2)) = -1
POL(EVAL(x1, x2)) = -1 + x2 + (-1)x1
POL(+@z(x1, x2)) = x1 + x2
POL(FALSE) = 2
POL(1@z) = 1
POL(undefined) = -1
POL(>@z(x1, x2)) = -1
COND_EVAL1(TRUE, x[0], y[0]) → EVAL(+@z(x[0], 1@z), y[0])
COND_EVAL1(TRUE, x[0], y[0]) → EVAL(+@z(x[0], 1@z), y[0])
EVAL(x[3], y[3]) → COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])
FALSE1 → &&(FALSE, FALSE)1
TRUE1 → &&(TRUE, TRUE)1
+@z1 ↔
FALSE1 → &&(TRUE, FALSE)1
FALSE1 → &&(FALSE, TRUE)1
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDP
z
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
z
(0) -> (3), if ((y[0] →* y[3])∧(+@z(x[0], 1@z) →* x[3]))
(0) -> (7), if ((y[0] →* y[7])∧(+@z(x[0], 1@z) →* x[7]))
(0) -> (4), if ((y[0] →* y[4])∧(+@z(x[0], 1@z) →* x[4]))
(3) -> (0), if ((x[3] →* x[0])∧(y[3] →* y[0])∧(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])) →* TRUE))
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
z
(0) -> (3), if ((y[0] →* y[3])∧(+@z(x[0], 1@z) →* x[3]))
(3) -> (0), if ((x[3] →* x[0])∧(y[3] →* y[0])∧(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])) →* TRUE))
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
(1) (EVAL(x[3], y[3])≥NonInfC∧EVAL(x[3], y[3])≥COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥))
(2) ((UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(3) ((UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(4) (0 ≥ 0∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0)
(5) (0 = 0∧0 = 0∧0 = 0∧0 ≥ 0∧0 = 0∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0)
(6) (x[3]=x[0]∧y[3]=y[0]∧&&(>@z(y[3], x[3]), >=@z(y[3], x[3]))=TRUE∧+@z(x[0], 1@z)=x[3]1∧y[0]=y[3]1 ⇒ COND_EVAL1(TRUE, x[0], y[0])≥NonInfC∧COND_EVAL1(TRUE, x[0], y[0])≥EVAL(+@z(x[0], 1@z), y[0])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(7) (>@z(y[3], x[3])=TRUE∧>=@z(y[3], x[3])=TRUE ⇒ COND_EVAL1(TRUE, x[3], y[3])≥NonInfC∧COND_EVAL1(TRUE, x[3], y[3])≥EVAL(+@z(x[3], 1@z), y[3])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(8) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧(-1)Bound + y[3] + (-1)x[3] ≥ 0∧0 ≥ 0)
(9) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧(-1)Bound + y[3] + (-1)x[3] ≥ 0∧0 ≥ 0)
(10) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧(-1)Bound + y[3] + (-1)x[3] ≥ 0∧0 ≥ 0)
(11) (x[3] ≥ 0∧1 + x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧1 + (-1)Bound + x[3] ≥ 0∧0 ≥ 0)
(12) (x[3] ≥ 0∧1 + x[3] ≥ 0∧y[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧1 + (-1)Bound + x[3] ≥ 0∧0 ≥ 0)
(13) (x[3] ≥ 0∧1 + x[3] ≥ 0∧y[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧1 + (-1)Bound + x[3] ≥ 0∧0 ≥ 0)
POL(>=@z(x1, x2)) = -1
POL(COND_EVAL1(x1, x2, x3)) = -1 + x3 + (-1)x2 + (-1)x1
POL(TRUE) = -1
POL(&&(x1, x2)) = -1
POL(EVAL(x1, x2)) = x2 + (-1)x1
POL(+@z(x1, x2)) = x1 + x2
POL(FALSE) = -1
POL(1@z) = 1
POL(undefined) = -1
POL(>@z(x1, x2)) = -1
COND_EVAL1(TRUE, x[0], y[0]) → EVAL(+@z(x[0], 1@z), y[0])
COND_EVAL1(TRUE, x[0], y[0]) → EVAL(+@z(x[0], 1@z), y[0])
EVAL(x[3], y[3]) → COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])
&&(FALSE, FALSE)1 ↔ FALSE1
&&(TRUE, TRUE)1 ↔ TRUE1
+@z1 ↔
FALSE1 → &&(TRUE, FALSE)1
&&(FALSE, TRUE)1 ↔ FALSE1
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
z
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
z
(1) -> (4), if ((y[1] →* y[4])∧(+@z(x[1], 1@z) →* x[4]))
(6) -> (7), if ((+@z(y[6], 1@z) →* y[7])∧(x[6] →* x[7]))
(0) -> (4), if ((y[0] →* y[4])∧(+@z(x[0], 1@z) →* x[4]))
(1) -> (7), if ((y[1] →* y[7])∧(+@z(x[1], 1@z) →* x[7]))
(6) -> (3), if ((+@z(y[6], 1@z) →* y[3])∧(x[6] →* x[3]))
(1) -> (3), if ((y[1] →* y[3])∧(+@z(x[1], 1@z) →* x[3]))
(7) -> (1), if ((x[7] →* x[1])∧(y[7] →* y[1])∧(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])) →* TRUE))
(6) -> (4), if ((+@z(y[6], 1@z) →* y[4])∧(x[6] →* x[4]))
(2) -> (6), if ((x[2] →* x[6])∧(y[2] →* y[6])∧(>@z(x[2], y[2]) →* TRUE))
(0) -> (2), if ((y[0] →* y[2])∧(+@z(x[0], 1@z) →* x[2]))
(0) -> (3), if ((y[0] →* y[3])∧(+@z(x[0], 1@z) →* x[3]))
(0) -> (7), if ((y[0] →* y[7])∧(+@z(x[0], 1@z) →* x[7]))
(3) -> (0), if ((x[3] →* x[0])∧(y[3] →* y[0])∧(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])) →* TRUE))
(6) -> (2), if ((+@z(y[6], 1@z) →* y[2])∧(x[6] →* x[2]))
(1) -> (2), if ((y[1] →* y[2])∧(+@z(x[1], 1@z) →* x[2]))
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
z
(0) -> (3), if ((y[0] →* y[3])∧(+@z(x[0], 1@z) →* x[3]))
(0) -> (7), if ((y[0] →* y[7])∧(+@z(x[0], 1@z) →* x[7]))
(6) -> (7), if ((+@z(y[6], 1@z) →* y[7])∧(x[6] →* x[7]))
(1) -> (3), if ((y[1] →* y[3])∧(+@z(x[1], 1@z) →* x[3]))
(6) -> (3), if ((+@z(y[6], 1@z) →* y[3])∧(x[6] →* x[3]))
(1) -> (7), if ((y[1] →* y[7])∧(+@z(x[1], 1@z) →* x[7]))
(3) -> (0), if ((x[3] →* x[0])∧(y[3] →* y[0])∧(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])) →* TRUE))
(6) -> (2), if ((+@z(y[6], 1@z) →* y[2])∧(x[6] →* x[2]))
(7) -> (1), if ((x[7] →* x[1])∧(y[7] →* y[1])∧(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])) →* TRUE))
(2) -> (6), if ((x[2] →* x[6])∧(y[2] →* y[6])∧(>@z(x[2], y[2]) →* TRUE))
(1) -> (2), if ((y[1] →* y[2])∧(+@z(x[1], 1@z) →* x[2]))
(0) -> (2), if ((y[0] →* y[2])∧(+@z(x[0], 1@z) →* x[2]))
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
(1) (EVAL(x[2], y[2])≥NonInfC∧EVAL(x[2], y[2])≥COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])∧(UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥))
(2) ((UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(3) ((UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(4) (0 ≥ 0∧(UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0)
(5) (0 = 0∧(UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 = 0∧0 ≥ 0∧0 = 0∧0 ≥ 0∧0 = 0)
(6) (y[0]=y[7]∧x[3]=x[0]∧y[3]=y[0]∧&&(>@z(y[3], x[3]), >=@z(y[3], x[3]))=TRUE∧+@z(x[0], 1@z)=x[7] ⇒ COND_EVAL1(TRUE, x[0], y[0])≥NonInfC∧COND_EVAL1(TRUE, x[0], y[0])≥EVAL(+@z(x[0], 1@z), y[0])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(7) (>@z(y[3], x[3])=TRUE∧>=@z(y[3], x[3])=TRUE ⇒ COND_EVAL1(TRUE, x[3], y[3])≥NonInfC∧COND_EVAL1(TRUE, x[3], y[3])≥EVAL(+@z(x[3], 1@z), y[3])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(8) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(9) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(10) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧1 ≥ 0∧0 ≥ 0)
(11) (x[3] ≥ 0∧1 + x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧1 ≥ 0∧0 ≥ 0)
(12) (x[3] ≥ 0∧1 + x[3] ≥ 0∧y[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧1 ≥ 0∧0 ≥ 0)
(13) (x[3] ≥ 0∧1 + x[3] ≥ 0∧y[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧1 ≥ 0∧0 ≥ 0)
(14) (y[0]=y[2]∧+@z(x[0], 1@z)=x[2]∧x[3]=x[0]∧y[3]=y[0]∧&&(>@z(y[3], x[3]), >=@z(y[3], x[3]))=TRUE ⇒ COND_EVAL1(TRUE, x[0], y[0])≥NonInfC∧COND_EVAL1(TRUE, x[0], y[0])≥EVAL(+@z(x[0], 1@z), y[0])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(15) (>@z(y[3], x[3])=TRUE∧>=@z(y[3], x[3])=TRUE ⇒ COND_EVAL1(TRUE, x[3], y[3])≥NonInfC∧COND_EVAL1(TRUE, x[3], y[3])≥EVAL(+@z(x[3], 1@z), y[3])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(16) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(17) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(18) (y[3] + (-1)x[3] ≥ 0∧-1 + y[3] + (-1)x[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧1 ≥ 0)
(19) (1 + x[3] ≥ 0∧x[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧1 ≥ 0)
(20) (1 + x[3] ≥ 0∧x[3] ≥ 0∧y[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧1 ≥ 0)
(21) (1 + x[3] ≥ 0∧x[3] ≥ 0∧y[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧1 ≥ 0)
(22) (x[3]=x[0]∧y[3]=y[0]∧&&(>@z(y[3], x[3]), >=@z(y[3], x[3]))=TRUE∧+@z(x[0], 1@z)=x[3]1∧y[0]=y[3]1 ⇒ COND_EVAL1(TRUE, x[0], y[0])≥NonInfC∧COND_EVAL1(TRUE, x[0], y[0])≥EVAL(+@z(x[0], 1@z), y[0])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(23) (>@z(y[3], x[3])=TRUE∧>=@z(y[3], x[3])=TRUE ⇒ COND_EVAL1(TRUE, x[3], y[3])≥NonInfC∧COND_EVAL1(TRUE, x[3], y[3])≥EVAL(+@z(x[3], 1@z), y[3])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(24) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(25) (-1 + y[3] + (-1)x[3] ≥ 0∧y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(26) (y[3] + (-1)x[3] ≥ 0∧-1 + y[3] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(27) (x[3] ≥ 0∧-1 + x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(28) (1 + x[3] ≥ 0∧x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(29) (1 + x[3] ≥ 0∧x[3] ≥ 0∧y[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(30) (1 + x[3] ≥ 0∧x[3] ≥ 0∧y[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0∧1 ≥ 0)
(31) (EVAL(x[3], y[3])≥NonInfC∧EVAL(x[3], y[3])≥COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥))
(32) ((UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(33) ((UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(34) (0 ≥ 0∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0)
(35) (0 = 0∧0 = 0∧0 = 0∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 = 0)
(36) (y[1]=y[3]∧+@z(x[1], 1@z)=x[3]∧y[7]=y[1]∧x[7]=x[1]∧&&(>@z(x[7], y[7]), >=@z(y[7], x[7]))=TRUE ⇒ COND_EVAL(TRUE, x[1], y[1])≥NonInfC∧COND_EVAL(TRUE, x[1], y[1])≥EVAL(+@z(x[1], 1@z), y[1])∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(37) (>@z(x[7], y[7])=TRUE∧>=@z(y[7], x[7])=TRUE ⇒ COND_EVAL(TRUE, x[7], y[7])≥NonInfC∧COND_EVAL(TRUE, x[7], y[7])≥EVAL(+@z(x[7], 1@z), y[7])∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(38) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧-1 + (-1)Bound + (-1)y[7] + (-1)x[7] ≥ 0∧0 ≥ 0)
(39) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧-1 + (-1)Bound + (-1)y[7] + (-1)x[7] ≥ 0∧0 ≥ 0)
(40) (y[7] + (-1)x[7] ≥ 0∧-1 + x[7] + (-1)y[7] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧-1 + (-1)Bound + (-1)y[7] + (-1)x[7] ≥ 0)
(41) (y[7]=y[1]∧x[7]=x[1]∧+@z(x[1], 1@z)=x[2]∧&&(>@z(x[7], y[7]), >=@z(y[7], x[7]))=TRUE∧y[1]=y[2] ⇒ COND_EVAL(TRUE, x[1], y[1])≥NonInfC∧COND_EVAL(TRUE, x[1], y[1])≥EVAL(+@z(x[1], 1@z), y[1])∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(42) (>@z(x[7], y[7])=TRUE∧>=@z(y[7], x[7])=TRUE ⇒ COND_EVAL(TRUE, x[7], y[7])≥NonInfC∧COND_EVAL(TRUE, x[7], y[7])≥EVAL(+@z(x[7], 1@z), y[7])∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(43) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧-1 + (-1)Bound + (-1)y[7] + (-1)x[7] ≥ 0∧0 ≥ 0)
(44) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧-1 + (-1)Bound + (-1)y[7] + (-1)x[7] ≥ 0∧0 ≥ 0)
(45) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ -1 + (-1)Bound + (-1)y[7] + (-1)x[7] ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(46) (+@z(x[1], 1@z)=x[7]1∧y[7]=y[1]∧x[7]=x[1]∧y[1]=y[7]1∧&&(>@z(x[7], y[7]), >=@z(y[7], x[7]))=TRUE ⇒ COND_EVAL(TRUE, x[1], y[1])≥NonInfC∧COND_EVAL(TRUE, x[1], y[1])≥EVAL(+@z(x[1], 1@z), y[1])∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(47) (>@z(x[7], y[7])=TRUE∧>=@z(y[7], x[7])=TRUE ⇒ COND_EVAL(TRUE, x[7], y[7])≥NonInfC∧COND_EVAL(TRUE, x[7], y[7])≥EVAL(+@z(x[7], 1@z), y[7])∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥))
(48) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧-1 + (-1)Bound + (-1)y[7] + (-1)x[7] ≥ 0∧0 ≥ 0)
(49) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧-1 + (-1)Bound + (-1)y[7] + (-1)x[7] ≥ 0∧0 ≥ 0)
(50) (-1 + x[7] + (-1)y[7] ≥ 0∧y[7] + (-1)x[7] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(+@z(x[1], 1@z), y[1])), ≥)∧-1 + (-1)Bound + (-1)y[7] + (-1)x[7] ≥ 0)
(51) (EVAL(x[7], y[7])≥NonInfC∧EVAL(x[7], y[7])≥COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])∧(UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥))
(52) ((UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥)∧0 ≥ 0∧0 ≥ 0)
(53) ((UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥)∧0 ≥ 0∧0 ≥ 0)
(54) (0 ≥ 0∧0 ≥ 0∧(UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥))
(55) (0 ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 ≥ 0∧(UIncreasing(COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])), ≥))
(56) (>@z(x[2], y[2])=TRUE∧x[6]=x[3]∧x[2]=x[6]∧+@z(y[6], 1@z)=y[3]∧y[2]=y[6] ⇒ COND_EVAL2(TRUE, x[6], y[6])≥NonInfC∧COND_EVAL2(TRUE, x[6], y[6])≥EVAL(x[6], +@z(y[6], 1@z))∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(57) (>@z(x[2], y[2])=TRUE ⇒ COND_EVAL2(TRUE, x[2], y[2])≥NonInfC∧COND_EVAL2(TRUE, x[2], y[2])≥EVAL(x[2], +@z(y[2], 1@z))∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(58) (-1 + x[2] + (-1)y[2] ≥ 0 ⇒ (UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0∧1 ≥ 0)
(59) (-1 + x[2] + (-1)y[2] ≥ 0 ⇒ (UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0∧1 ≥ 0)
(60) (-1 + x[2] + (-1)y[2] ≥ 0 ⇒ 0 ≥ 0∧1 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(61) (x[2] ≥ 0 ⇒ 0 ≥ 0∧1 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(62) (x[2] ≥ 0∧y[2] ≥ 0 ⇒ 0 ≥ 0∧1 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(63) (x[2] ≥ 0∧y[2] ≥ 0 ⇒ 0 ≥ 0∧1 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(64) (>@z(x[2], y[2])=TRUE∧+@z(y[6], 1@z)=y[2]1∧x[2]=x[6]∧x[6]=x[2]1∧y[2]=y[6] ⇒ COND_EVAL2(TRUE, x[6], y[6])≥NonInfC∧COND_EVAL2(TRUE, x[6], y[6])≥EVAL(x[6], +@z(y[6], 1@z))∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(65) (>@z(x[2], y[2])=TRUE ⇒ COND_EVAL2(TRUE, x[2], y[2])≥NonInfC∧COND_EVAL2(TRUE, x[2], y[2])≥EVAL(x[2], +@z(y[2], 1@z))∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(66) (-1 + x[2] + (-1)y[2] ≥ 0 ⇒ (UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0∧1 ≥ 0)
(67) (-1 + x[2] + (-1)y[2] ≥ 0 ⇒ (UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0∧1 ≥ 0)
(68) (-1 + x[2] + (-1)y[2] ≥ 0 ⇒ 1 ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(69) (x[2] ≥ 0 ⇒ 1 ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(70) (x[2] ≥ 0∧y[2] ≥ 0 ⇒ 1 ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(71) (x[2] ≥ 0∧y[2] ≥ 0 ⇒ 1 ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(72) (>@z(x[2], y[2])=TRUE∧x[2]=x[6]∧y[2]=y[6]∧+@z(y[6], 1@z)=y[7]∧x[6]=x[7] ⇒ COND_EVAL2(TRUE, x[6], y[6])≥NonInfC∧COND_EVAL2(TRUE, x[6], y[6])≥EVAL(x[6], +@z(y[6], 1@z))∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(73) (>@z(x[2], y[2])=TRUE ⇒ COND_EVAL2(TRUE, x[2], y[2])≥NonInfC∧COND_EVAL2(TRUE, x[2], y[2])≥EVAL(x[2], +@z(y[2], 1@z))∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(74) (-1 + x[2] + (-1)y[2] ≥ 0 ⇒ (UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0∧1 ≥ 0)
(75) (-1 + x[2] + (-1)y[2] ≥ 0 ⇒ (UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0∧1 ≥ 0)
(76) (-1 + x[2] + (-1)y[2] ≥ 0 ⇒ 0 ≥ 0∧1 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(77) (x[2] ≥ 0 ⇒ 0 ≥ 0∧1 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(78) (x[2] ≥ 0∧y[2] ≥ 0 ⇒ 0 ≥ 0∧1 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(79) (x[2] ≥ 0∧y[2] ≥ 0 ⇒ 0 ≥ 0∧1 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
POL(>=@z(x1, x2)) = -1
POL(COND_EVAL2(x1, x2, x3)) = -1 + (-1)x3 + (-1)x2
POL(COND_EVAL1(x1, x2, x3)) = -1 + (-1)x3 + (-1)x2
POL(TRUE) = 0
POL(&&(x1, x2)) = -1
POL(COND_EVAL(x1, x2, x3)) = -1 + (-1)x3 + (-1)x2
POL(EVAL(x1, x2)) = -1 + (-1)x2 + (-1)x1
POL(+@z(x1, x2)) = x1 + x2
POL(FALSE) = 2
POL(1@z) = 1
POL(undefined) = -1
POL(>@z(x1, x2)) = -1
COND_EVAL(TRUE, x[1], y[1]) → EVAL(+@z(x[1], 1@z), y[1])
COND_EVAL(TRUE, x[1], y[1]) → EVAL(+@z(x[1], 1@z), y[1])
EVAL(x[2], y[2]) → COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])
COND_EVAL1(TRUE, x[0], y[0]) → EVAL(+@z(x[0], 1@z), y[0])
EVAL(x[3], y[3]) → COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])
EVAL(x[7], y[7]) → COND_EVAL(&&(>@z(x[7], y[7]), >=@z(y[7], x[7])), x[7], y[7])
COND_EVAL2(TRUE, x[6], y[6]) → EVAL(x[6], +@z(y[6], 1@z))
FALSE1 → &&(FALSE, FALSE)1
TRUE1 → &&(TRUE, TRUE)1
+@z1 ↔
FALSE1 → &&(FALSE, TRUE)1
FALSE1 → &&(TRUE, FALSE)1
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
z
(0) -> (3), if ((y[0] →* y[3])∧(+@z(x[0], 1@z) →* x[3]))
(0) -> (7), if ((y[0] →* y[7])∧(+@z(x[0], 1@z) →* x[7]))
(6) -> (7), if ((+@z(y[6], 1@z) →* y[7])∧(x[6] →* x[7]))
(6) -> (3), if ((+@z(y[6], 1@z) →* y[3])∧(x[6] →* x[3]))
(3) -> (0), if ((x[3] →* x[0])∧(y[3] →* y[0])∧(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])) →* TRUE))
(6) -> (2), if ((+@z(y[6], 1@z) →* y[2])∧(x[6] →* x[2]))
(2) -> (6), if ((x[2] →* x[6])∧(y[2] →* y[6])∧(>@z(x[2], y[2]) →* TRUE))
(0) -> (2), if ((y[0] →* y[2])∧(+@z(x[0], 1@z) →* x[2]))
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ IDPNonInfProof
z
(0) -> (3), if ((y[0] →* y[3])∧(+@z(x[0], 1@z) →* x[3]))
(6) -> (3), if ((+@z(y[6], 1@z) →* y[3])∧(x[6] →* x[3]))
(3) -> (0), if ((x[3] →* x[0])∧(y[3] →* y[0])∧(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])) →* TRUE))
(6) -> (2), if ((+@z(y[6], 1@z) →* y[2])∧(x[6] →* x[2]))
(2) -> (6), if ((x[2] →* x[6])∧(y[2] →* y[6])∧(>@z(x[2], y[2]) →* TRUE))
(0) -> (2), if ((y[0] →* y[2])∧(+@z(x[0], 1@z) →* x[2]))
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ IDPNonInfProof
EVAL(x[2], y[2]) → COND_EVAL2(greater_int(x[2], y[2]), x[2], y[2])
COND_EVAL1(true, x[0], y[0]) → EVAL(plus_int(pos(s(0)), x[0]), y[0])
EVAL(x[3], y[3]) → COND_EVAL1(and(greater_int(y[3], x[3]), greatereq_int(y[3], x[3])), x[3], y[3])
COND_EVAL2(true, x[6], y[6]) → EVAL(x[6], plus_int(pos(s(0)), y[6]))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
eval(x0, x1)
Cond_eval1(true, x0, x1)
Cond_eval(true, x0, x1)
Cond_eval3(true, x0, x1)
Cond_eval2(true, x0, x1)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ IDPNonInfProof
EVAL(x[2], y[2]) → COND_EVAL2(greater_int(x[2], y[2]), x[2], y[2])
COND_EVAL1(true, x[0], y[0]) → EVAL(plus_int(pos(s(0)), x[0]), y[0])
EVAL(x[3], y[3]) → COND_EVAL1(and(greater_int(y[3], x[3]), greatereq_int(y[3], x[3])), x[3], y[3])
COND_EVAL2(true, x[6], y[6]) → EVAL(x[6], plus_int(pos(s(0)), y[6]))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
eval(x0, x1)
Cond_eval1(true, x0, x1)
Cond_eval(true, x0, x1)
Cond_eval3(true, x0, x1)
Cond_eval2(true, x0, x1)
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
eval(x0, x1)
Cond_eval1(true, x0, x1)
Cond_eval(true, x0, x1)
Cond_eval3(true, x0, x1)
Cond_eval2(true, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ IDPNonInfProof
EVAL(x[2], y[2]) → COND_EVAL2(greater_int(x[2], y[2]), x[2], y[2])
COND_EVAL1(true, x[0], y[0]) → EVAL(plus_int(pos(s(0)), x[0]), y[0])
EVAL(x[3], y[3]) → COND_EVAL1(and(greater_int(y[3], x[3]), greatereq_int(y[3], x[3])), x[3], y[3])
COND_EVAL2(true, x[6], y[6]) → EVAL(x[6], plus_int(pos(s(0)), y[6]))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greatereq_int(pos(x), pos(0)) → true
greatereq_int(neg(0), pos(0)) → true
greatereq_int(neg(0), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(0), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(0)) → false
greatereq_int(neg(s(x)), neg(0)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(0))
greatereq_int(neg(0), pos(0))
greatereq_int(neg(0), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(0), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(0))
greatereq_int(neg(s(x0)), neg(0))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
(1) (EVAL(x[2], y[2])≥NonInfC∧EVAL(x[2], y[2])≥COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])∧(UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥))
(2) ((UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧max{(-1)x[2] + y[2], x[2] + (-1)y[2]} + (-1)max{(-1)x[2] + y[2], x[2] + (-1)y[2]} ≥ 0)
(3) ((UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧max{(-1)x[2] + y[2], x[2] + (-1)y[2]} + (-1)max{(-1)x[2] + y[2], x[2] + (-1)y[2]} ≥ 0)
(4) ((-2)x[2] + (2)y[2] ≥ 0 ⇒ (UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(5) (-1 + (2)x[2] + (-2)y[2] ≥ 0 ⇒ (UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(6) ((2)x[2] ≥ 0 ⇒ (UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(7) (-1 + (2)x[2] + (-2)y[2] ≥ 0∧x[2] ≥ 0 ⇒ (UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(8) (-1 + (-2)x[2] + (-2)y[2] ≥ 0∧x[2] ≥ 0 ⇒ (UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(9) ((2)x[2] ≥ 0∧y[2] ≥ 0 ⇒ (UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(10) ((2)x[2] ≥ 0∧y[2] ≥ 0 ⇒ (UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(11) (-1 + (2)x[2] + (-2)y[2] ≥ 0∧x[2] ≥ 0∧y[2] ≥ 0 ⇒ (UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(12) (-1 + (2)x[2] + (2)y[2] ≥ 0∧x[2] ≥ 0∧y[2] ≥ 0 ⇒ (UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(13) (-1 + (-2)x[2] + (2)y[2] ≥ 0∧x[2] ≥ 0 ⇒ (UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(14) (x[6]=x[3]∧+@z(y[6], 1@z)=y[3]∧x[3]=x[0]∧y[3]=y[0]∧&&(>@z(y[3], x[3]), >=@z(y[3], x[3]))=TRUE ⇒ COND_EVAL1(TRUE, x[0], y[0])≥NonInfC∧COND_EVAL1(TRUE, x[0], y[0])≥EVAL(+@z(x[0], 1@z), y[0])∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(15) (>@z(+@z(y[6], 1@z), x[3])=TRUE∧>=@z(+@z(y[6], 1@z), x[3])=TRUE ⇒ COND_EVAL1(TRUE, x[3], +@z(y[6], 1@z))≥NonInfC∧COND_EVAL1(TRUE, x[3], +@z(y[6], 1@z))≥EVAL(+@z(x[3], 1@z), +@z(y[6], 1@z))∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥))
(16) (y[6] + (-1)x[3] ≥ 0∧1 + y[6] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧-1 + (-1)Bound + max{1 + (-1)x[3] + y[6], -1 + x[3] + (-1)y[6]} ≥ 0∧-1 + max{1 + (-1)x[3] + y[6], -1 + x[3] + (-1)y[6]} + (-1)max{(-1)x[3] + y[6], x[3] + (-1)y[6]} ≥ 0)
(17) (y[6] + (-1)x[3] ≥ 0∧1 + y[6] + (-1)x[3] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧-1 + (-1)Bound + max{1 + (-1)x[3] + y[6], -1 + x[3] + (-1)y[6]} ≥ 0∧-1 + max{1 + (-1)x[3] + y[6], -1 + x[3] + (-1)y[6]} + (-1)max{(-1)x[3] + y[6], x[3] + (-1)y[6]} ≥ 0)
(18) (y[6] + (-1)x[3] ≥ 0∧(-2)x[3] + (2)y[6] ≥ 0∧1 + y[6] + (-1)x[3] ≥ 0∧2 + (-2)x[3] + (2)y[6] ≥ 0 ⇒ (-1)Bound + (-1)x[3] + y[6] ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(19) (x[3] ≥ 0∧(2)x[3] ≥ 0∧1 + x[3] ≥ 0∧2 + (2)x[3] ≥ 0 ⇒ (-1)Bound + x[3] ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(20) (x[3] ≥ 0∧(2)x[3] ≥ 0∧1 + x[3] ≥ 0∧2 + (2)x[3] ≥ 0∧y[6] ≥ 0 ⇒ (-1)Bound + x[3] ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(21) (x[3] ≥ 0∧(2)x[3] ≥ 0∧1 + x[3] ≥ 0∧2 + (2)x[3] ≥ 0∧y[6] ≥ 0 ⇒ (-1)Bound + x[3] ≥ 0∧(UIncreasing(EVAL(+@z(x[0], 1@z), y[0])), ≥)∧0 ≥ 0)
(22) (y[0]=y[3]∧+@z(x[0], 1@z)=x[3]∧&&(>@z(y[3], x[3]), >=@z(y[3], x[3]))=TRUE∧x[3]=x[0]1∧y[3]=y[0]1 ⇒ COND_EVAL1(TRUE, x[0]1, y[0]1)≥NonInfC∧COND_EVAL1(TRUE, x[0]1, y[0]1)≥EVAL(+@z(x[0]1, 1@z), y[0]1)∧(UIncreasing(EVAL(+@z(x[0]1, 1@z), y[0]1)), ≥))
(23) (>@z(y[3], +@z(x[0], 1@z))=TRUE∧>=@z(y[3], +@z(x[0], 1@z))=TRUE ⇒ COND_EVAL1(TRUE, +@z(x[0], 1@z), y[3])≥NonInfC∧COND_EVAL1(TRUE, +@z(x[0], 1@z), y[3])≥EVAL(+@z(+@z(x[0], 1@z), 1@z), y[3])∧(UIncreasing(EVAL(+@z(x[0]1, 1@z), y[0]1)), ≥))
(24) (-2 + y[3] + (-1)x[0] ≥ 0∧-1 + y[3] + (-1)x[0] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0]1, 1@z), y[0]1)), ≥)∧-1 + (-1)Bound + max{-1 + (-1)x[0] + y[3], 1 + x[0] + (-1)y[3]} ≥ 0∧-1 + max{-1 + (-1)x[0] + y[3], 1 + x[0] + (-1)y[3]} + (-1)max{-2 + (-1)x[0] + y[3], 2 + x[0] + (-1)y[3]} ≥ 0)
(25) (-2 + y[3] + (-1)x[0] ≥ 0∧-1 + y[3] + (-1)x[0] ≥ 0 ⇒ (UIncreasing(EVAL(+@z(x[0]1, 1@z), y[0]1)), ≥)∧-1 + (-1)Bound + max{-1 + (-1)x[0] + y[3], 1 + x[0] + (-1)y[3]} ≥ 0∧-1 + max{-1 + (-1)x[0] + y[3], 1 + x[0] + (-1)y[3]} + (-1)max{-2 + (-1)x[0] + y[3], 2 + x[0] + (-1)y[3]} ≥ 0)
(26) (-4 + (-2)x[0] + (2)y[3] ≥ 0∧-2 + (-2)x[0] + (2)y[3] ≥ 0∧-2 + y[3] + (-1)x[0] ≥ 0∧-1 + y[3] + (-1)x[0] ≥ 0 ⇒ -2 + (-1)Bound + (-1)x[0] + y[3] ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0]1, 1@z), y[0]1)), ≥))
(27) ((2)y[3] ≥ 0∧2 + (2)y[3] ≥ 0∧y[3] ≥ 0∧1 + y[3] ≥ 0 ⇒ (-1)Bound + y[3] ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0]1, 1@z), y[0]1)), ≥))
(28) ((2)y[3] ≥ 0∧2 + (2)y[3] ≥ 0∧y[3] ≥ 0∧1 + y[3] ≥ 0∧x[0] ≥ 0 ⇒ (-1)Bound + y[3] ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0]1, 1@z), y[0]1)), ≥))
(29) ((2)y[3] ≥ 0∧2 + (2)y[3] ≥ 0∧y[3] ≥ 0∧1 + y[3] ≥ 0∧x[0] ≥ 0 ⇒ (-1)Bound + y[3] ≥ 0∧0 ≥ 0∧(UIncreasing(EVAL(+@z(x[0]1, 1@z), y[0]1)), ≥))
(30) (EVAL(x[3], y[3])≥NonInfC∧EVAL(x[3], y[3])≥COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥))
(31) ((UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧max{(-1)x[3] + y[3], x[3] + (-1)y[3]} + (-1)max{(-1)x[3] + y[3], x[3] + (-1)y[3]} ≥ 0)
(32) ((UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧max{(-1)x[3] + y[3], x[3] + (-1)y[3]} + (-1)max{(-1)x[3] + y[3], x[3] + (-1)y[3]} ≥ 0)
(33) ((-2)x[3] + (2)y[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0)
(34) (-1 + (2)x[3] + (-2)y[3] ≥ 0 ⇒ (UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(35) ((2)x[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0)
(36) (-1 + (2)x[3] + (-2)y[3] ≥ 0∧x[3] ≥ 0 ⇒ (UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(37) (-1 + (-2)x[3] + (-2)y[3] ≥ 0∧x[3] ≥ 0 ⇒ (UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(38) ((2)x[3] ≥ 0∧y[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0)
(39) ((2)x[3] ≥ 0∧y[3] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0)
(40) (-1 + (2)x[3] + (-2)y[3] ≥ 0∧x[3] ≥ 0∧y[3] ≥ 0 ⇒ (UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(41) (-1 + (2)x[3] + (2)y[3] ≥ 0∧x[3] ≥ 0∧y[3] ≥ 0 ⇒ (UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(42) (-1 + (-2)x[3] + (2)y[3] ≥ 0∧x[3] ≥ 0 ⇒ (UIncreasing(COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])), ≥)∧0 ≥ 0∧0 ≥ 0)
(43) (>@z(x[2], y[2])=TRUE∧y[0]=y[2]∧x[2]=x[6]∧+@z(x[0], 1@z)=x[2]∧y[2]=y[6] ⇒ COND_EVAL2(TRUE, x[6], y[6])≥NonInfC∧COND_EVAL2(TRUE, x[6], y[6])≥EVAL(x[6], +@z(y[6], 1@z))∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(44) (>@z(+@z(x[0], 1@z), y[2])=TRUE ⇒ COND_EVAL2(TRUE, +@z(x[0], 1@z), y[2])≥NonInfC∧COND_EVAL2(TRUE, +@z(x[0], 1@z), y[2])≥EVAL(+@z(x[0], 1@z), +@z(y[2], 1@z))∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(45) (x[0] + (-1)y[2] ≥ 0 ⇒ (UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0∧max{-1 + (-1)x[0] + y[2], 1 + x[0] + (-1)y[2]} + (-1)max{(-1)x[0] + y[2], x[0] + (-1)y[2]} ≥ 0)
(46) (x[0] + (-1)y[2] ≥ 0 ⇒ (UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0∧max{-1 + (-1)x[0] + y[2], 1 + x[0] + (-1)y[2]} + (-1)max{(-1)x[0] + y[2], x[0] + (-1)y[2]} ≥ 0)
(47) ((-2)x[0] + (2)y[2] ≥ 0∧1 + (2)x[0] + (-2)y[2] ≥ 0∧x[0] + (-1)y[2] ≥ 0 ⇒ 1 + (2)x[0] + (-2)y[2] ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0)
(48) (-1 + (2)x[0] + (-2)y[2] ≥ 0∧1 + (2)x[0] + (-2)y[2] ≥ 0∧x[0] + (-1)y[2] ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0)
(49) ((2)y[2] ≥ 0∧1 + (-2)y[2] ≥ 0∧(-1)y[2] ≥ 0 ⇒ 1 + (-2)y[2] ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0)
(50) (-1 + (2)y[2] ≥ 0∧1 + (2)y[2] ≥ 0∧y[2] ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0)
(51) (0 ≥ 0∧1 ≥ 0∧0 ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0)
(52) (0 ≥ 0∧1 ≥ 0∧0 ≥ 0∧x[0] ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0)
(53) (0 ≥ 0∧1 ≥ 0∧0 ≥ 0∧x[0] ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0)
(54) (-1 + (2)y[2] ≥ 0∧1 + (2)y[2] ≥ 0∧y[2] ≥ 0∧x[0] ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0)
(55) (-1 + (2)y[2] ≥ 0∧1 + (2)y[2] ≥ 0∧y[2] ≥ 0∧x[0] ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧0 ≥ 0)
(56) (>@z(x[2], y[2])=TRUE∧+@z(y[6], 1@z)=y[2]∧x[6]=x[2]∧x[2]=x[6]1∧y[2]=y[6]1 ⇒ COND_EVAL2(TRUE, x[6]1, y[6]1)≥NonInfC∧COND_EVAL2(TRUE, x[6]1, y[6]1)≥EVAL(x[6]1, +@z(y[6]1, 1@z))∧(UIncreasing(EVAL(x[6]1, +@z(y[6]1, 1@z))), ≥))
(57) (>@z(x[2], +@z(y[6], 1@z))=TRUE ⇒ COND_EVAL2(TRUE, x[2], +@z(y[6], 1@z))≥NonInfC∧COND_EVAL2(TRUE, x[2], +@z(y[6], 1@z))≥EVAL(x[2], +@z(+@z(y[6], 1@z), 1@z))∧(UIncreasing(EVAL(x[6]1, +@z(y[6]1, 1@z))), ≥))
(58) (-2 + x[2] + (-1)y[6] ≥ 0 ⇒ (UIncreasing(EVAL(x[6]1, +@z(y[6]1, 1@z))), ≥)∧0 ≥ 0∧max{1 + (-1)x[2] + y[6], -1 + x[2] + (-1)y[6]} + (-1)max{2 + (-1)x[2] + y[6], -2 + x[2] + (-1)y[6]} ≥ 0)
(59) (-2 + x[2] + (-1)y[6] ≥ 0 ⇒ (UIncreasing(EVAL(x[6]1, +@z(y[6]1, 1@z))), ≥)∧0 ≥ 0∧max{1 + (-1)x[2] + y[6], -1 + x[2] + (-1)y[6]} + (-1)max{2 + (-1)x[2] + y[6], -2 + x[2] + (-1)y[6]} ≥ 0)
(60) (-2 + x[2] + (-1)y[6] ≥ 0∧-3 + (2)x[2] + (-2)y[6] ≥ 0∧4 + (-2)x[2] + (2)y[6] ≥ 0 ⇒ (UIncreasing(EVAL(x[6]1, +@z(y[6]1, 1@z))), ≥)∧-3 + (2)x[2] + (-2)y[6] ≥ 0∧0 ≥ 0)
(61) (-2 + x[2] + (-1)y[6] ≥ 0∧-5 + (2)x[2] + (-2)y[6] ≥ 0∧-3 + (2)x[2] + (-2)y[6] ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(x[6]1, +@z(y[6]1, 1@z))), ≥)∧0 ≥ 0)
(62) (x[2] ≥ 0∧1 + (2)x[2] ≥ 0∧(-2)x[2] ≥ 0 ⇒ (UIncreasing(EVAL(x[6]1, +@z(y[6]1, 1@z))), ≥)∧1 + (2)x[2] ≥ 0∧0 ≥ 0)
(63) (x[2] ≥ 0∧-1 + (2)x[2] ≥ 0∧1 + (2)x[2] ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(x[6]1, +@z(y[6]1, 1@z))), ≥)∧0 ≥ 0)
(64) (0 ≥ 0∧1 ≥ 0∧0 ≥ 0 ⇒ (UIncreasing(EVAL(x[6]1, +@z(y[6]1, 1@z))), ≥)∧1 ≥ 0∧0 ≥ 0)
(65) (0 ≥ 0∧1 ≥ 0∧0 ≥ 0∧y[6] ≥ 0 ⇒ (UIncreasing(EVAL(x[6]1, +@z(y[6]1, 1@z))), ≥)∧1 ≥ 0∧0 ≥ 0)
(66) (0 ≥ 0∧1 ≥ 0∧0 ≥ 0∧y[6] ≥ 0 ⇒ (UIncreasing(EVAL(x[6]1, +@z(y[6]1, 1@z))), ≥)∧1 ≥ 0∧0 ≥ 0)
(67) (x[2] ≥ 0∧-1 + (2)x[2] ≥ 0∧1 + (2)x[2] ≥ 0∧y[6] ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(x[6]1, +@z(y[6]1, 1@z))), ≥)∧0 ≥ 0)
(68) (x[2] ≥ 0∧-1 + (2)x[2] ≥ 0∧1 + (2)x[2] ≥ 0∧y[6] ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(EVAL(x[6]1, +@z(y[6]1, 1@z))), ≥)∧0 ≥ 0)
POL(>=@z(x1, x2)) = -1
POL(COND_EVAL2(x1, x2, x3)) = -1 + max{(-1)x2 + x3, x2 + (-1)x3}
POL(COND_EVAL1(x1, x2, x3)) = -1 + max{(-1)x2 + x3, x2 + (-1)x3}
POL(TRUE) = -1
POL(&&(x1, x2)) = -1
POL(EVAL(x1, x2)) = -1 + max{(-1)x1 + x2, x1 + (-1)x2}
POL(+@z(x1, x2)) = x1 + x2
POL(FALSE) = -1
POL(1@z) = 1
POL(undefined) = -1
POL(>@z(x1, x2)) = -1
COND_EVAL1(TRUE, x[0], y[0]) → EVAL(+@z(x[0], 1@z), y[0])
COND_EVAL1(TRUE, x[0], y[0]) → EVAL(+@z(x[0], 1@z), y[0])
EVAL(x[2], y[2]) → COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])
EVAL(x[3], y[3]) → COND_EVAL1(&&(>@z(y[3], x[3]), >=@z(y[3], x[3])), x[3], y[3])
COND_EVAL2(TRUE, x[6], y[6]) → EVAL(x[6], +@z(y[6], 1@z))
&&(FALSE, FALSE)1 ↔ FALSE1
&&(TRUE, TRUE)1 ↔ TRUE1
+@z1 ↔
&&(FALSE, TRUE)1 ↔ FALSE1
&&(TRUE, FALSE)1 ↔ FALSE1
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
z
(6) -> (3), if ((+@z(y[6], 1@z) →* y[3])∧(x[6] →* x[3]))
(6) -> (2), if ((+@z(y[6], 1@z) →* y[2])∧(x[6] →* x[2]))
(2) -> (6), if ((x[2] →* x[6])∧(y[2] →* y[6])∧(>@z(x[2], y[2]) →* TRUE))
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
z
(6) -> (2), if ((+@z(y[6], 1@z) →* y[2])∧(x[6] →* x[2]))
(2) -> (6), if ((x[2] →* x[6])∧(y[2] →* y[6])∧(>@z(x[2], y[2]) →* TRUE))
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)
(1) (EVAL(x[2], y[2])≥NonInfC∧EVAL(x[2], y[2])≥COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])∧(UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥))
(2) ((UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(3) ((UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(4) ((UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(5) (0 = 0∧0 = 0∧(UIncreasing(COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 = 0∧0 = 0)
(6) (>@z(x[2], y[2])=TRUE∧+@z(y[6], 1@z)=y[2]1∧x[2]=x[6]∧x[6]=x[2]1∧y[2]=y[6] ⇒ COND_EVAL2(TRUE, x[6], y[6])≥NonInfC∧COND_EVAL2(TRUE, x[6], y[6])≥EVAL(x[6], +@z(y[6], 1@z))∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(7) (>@z(x[2], y[2])=TRUE ⇒ COND_EVAL2(TRUE, x[2], y[2])≥NonInfC∧COND_EVAL2(TRUE, x[2], y[2])≥EVAL(x[2], +@z(y[2], 1@z))∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥))
(8) (-1 + x[2] + (-1)y[2] ≥ 0 ⇒ (UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧-1 + (-1)Bound + (-1)y[2] + x[2] ≥ 0∧0 ≥ 0)
(9) (-1 + x[2] + (-1)y[2] ≥ 0 ⇒ (UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧-1 + (-1)Bound + (-1)y[2] + x[2] ≥ 0∧0 ≥ 0)
(10) (-1 + x[2] + (-1)y[2] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧-1 + (-1)Bound + (-1)y[2] + x[2] ≥ 0)
(11) (x[2] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧(-1)Bound + x[2] ≥ 0)
(12) (x[2] ≥ 0∧y[2] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧(-1)Bound + x[2] ≥ 0)
(13) (x[2] ≥ 0∧y[2] ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(EVAL(x[6], +@z(y[6], 1@z))), ≥)∧(-1)Bound + x[2] ≥ 0)
POL(COND_EVAL2(x1, x2, x3)) = -1 + (-1)x3 + x2
POL(TRUE) = 2
POL(EVAL(x1, x2)) = -1 + (-1)x2 + x1
POL(+@z(x1, x2)) = x1 + x2
POL(FALSE) = -1
POL(1@z) = 1
POL(undefined) = -1
POL(>@z(x1, x2)) = -1
COND_EVAL2(TRUE, x[6], y[6]) → EVAL(x[6], +@z(y[6], 1@z))
COND_EVAL2(TRUE, x[6], y[6]) → EVAL(x[6], +@z(y[6], 1@z))
EVAL(x[2], y[2]) → COND_EVAL2(>@z(x[2], y[2]), x[2], y[2])
+@z1 ↔
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
z
eval(x0, x1)
Cond_eval1(TRUE, x0, x1)
Cond_eval(TRUE, x0, x1)
Cond_eval3(TRUE, x0, x1)
Cond_eval2(TRUE, x0, x1)